package System;

import java.util.LinkedList;

import Sources.SourcesAdapter;

/**
 * Interface of listener class
 * @author Shinichi
 *
 */
public interface Listener{
	
	/**
	 * @return
	 * Returns classifiers
	 */
	public LinkedList<Classifier> getClassifiers();
	
	/**
	 * Adding a new dir to listen to
	 * @param job
	 */
	public void execute(String path,String[] exp);
	
	public void undo(String name);
	/**
	 * Starts the listening process should only be used once
	 */
	public void start();
	
	public void stop();
	/*
	 * this class will be in different thread /process ,
	 * in order to act independly.
	 * 
	 */
	//public Object mySystem;// variable that with it the listener listen to the O.S
	//public Classifier[] myClassifiers;
	//public LinkedList<Classifier> myClassifiers;
	//private Classifier myClassifier;
	//public Log myLog;
	//public Listener(Classifier classifier) {
		//myClassifier=classifier;
	//	myClassifiers=new LinkedList<Classifier>();
	//}

	/**
	 * Description of the method openClassification.
	 *
	 */
	//public void openClassification();

	/**
	 * Description of the method updateSorces.
	 *
	 */
	//public void updateSorces();

	/**
	 * Description of the method ifFileInserted.
	 *
	 */
	//public void ifFileInserted() {

	//}

	/**
	 * Description of the method run.
	 *
	 */
	//public void run() {

	//}

	/**
	 * Description of the method listenningOn.
	 *
	 */
	public void listenningOn();
	/**
	 * Description of the method listenningOff.
	 *
	 */
	public void listenningOff();
	/**
	 * Description of the method getSources.
	 *
	 */
	//public void getSources() {

	//}
	

	
	/**
	 * Description of the method ifFileDeleted.
	 *
	 */
	//public void ifFileDeleted() {
	//	System.out.println("File deleted.");
	//}


}